home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #2 / Amiga Plus CD - 1995 - No. 2.iso / internet / faq / englisch / news.software.readers-trn < prev    next >
Encoding:
Text File  |  1995-04-11  |  81.0 KB  |  1,822 lines

  1. Posted-By: auto-faq 3.1.1.2
  2. Archive-name: usenet/software/trn-faq/part1
  3. Posting-Frequency: Posted on the 11th and 26th of each month.
  4. Last-Modified: February 26, 1995
  5. Version: 3.3 (of FAQ)
  6. Changes-This-Version: Wayne Davison's preferred address is <trn@trn.com>.
  7.  
  8. These articles summarize some frequently-asked questions (and answers)
  9. about the trn newsreader and associated programs such as Pnews and
  10. Rnmail. Trn was written by Wayne Davison <trn@trn.com> who often
  11. answers questions about it in news.software.readers. As he describes it,
  12. "Trn is Threaded RN -- a newsreader that uses an article's references to
  13. order the discussions in a very natural, reply-ordered sequence called
  14. threads. Having the replies associated with their parent articles not
  15. only makes following the discussion easier, but also makes it easy to
  16. backtrack and (re-)read a specific discussion from the beginning. Trn
  17. also has a visual representation of the current thread in the upper right
  18. corner of the header, a thread/subject/article selector, etc. It is based
  19. on rn, so it has all of rn's power and extensibility and a lot more."
  20.  
  21. Part 1 deals with basic questions on configuring and using trn; Part 2
  22. has information on more advanced usage questions. You may also be
  23. interested in the "rn KILL file FAQ" (See Subject: OODA below to find
  24. it) for information regarding killfiles. Trn calls killfiles "memorized
  25. commands" as it extends the capability quite beyond simply killing
  26. undesired subjects.
  27.  
  28. This FAQ is maintained by Peter J. Kappesser <pjkappes@mailbox.syr.edu> and
  29. is archived at <URL:ftp://rtfm.mit.edu/pub/usenet/news.software.readers/>.
  30.  
  31. OVERVIEW
  32. > Subject: OWDB: Where do I begin?
  33. > Subject: OODA: What other documentation is available?
  34. > Subject: OCNN: How does trn compare to other popular newsreaders like nn?
  35. > Subject: OLVW: What's the latest version of trn and where can I get it?
  36. > Subject: OPFV: What's planned for future versions?
  37.  
  38. CONFIGURATION AND OPTIONS
  39. > Subject: CUCF: How do I use a configuration file for trn?
  40. > Subject: CSKF: I hate the way trn saves its killfiles! How can I change it?
  41. > Subject: CSNG: How can I configure trn to keep from asking me to subscribe
  42. >         to new newsgroups?
  43. > Subject: CSRP: Can I get rid of the "hit return" prompts?
  44. > Subject: CCHL: How can I customize my header lines?
  45. > Subject: CWHT: Where can I find some hints and configuration examples?
  46. > Subject: CVNF: How can I use various .newsrc with trn?
  47. > Subject: CMLV: How can I make Pnews and Rnmail less verbose?
  48. > Subject: CSGD: How can I set a save directory for a group that's not the
  49. >         same as the name of the group?
  50.  
  51. USAGE
  52. > Subject: URJA: Whoops, I hit "n" before I was done reading an article. How
  53. >         can I see it again?
  54. > Subject: UGNG: Is there a way to go to a particular newsgroup more easily
  55. >         than typing "g incredibly.long.newsgroup.name"?
  56. > Subject: UAST: How can I automagically SELECT a thread instead of KILLING it?
  57. > Subject: USMR: How can I keep track of replies to my posts?
  58. > Subject: USST: Is there an easy way to save a specific thread, without
  59. >         saving others I've also selected but haven't read yet?
  60. > Subject: USPW: How can I select articles which contain a particular word
  61. >         in the body?
  62. > Subject: USSP: How to select based on my script that processes an article?
  63. > Subject: USNA: How can I see only the new articles in trn?
  64. > Subject: USNF: My .newsrc is huge, and I only read a couple dozen groups!
  65. >         How can I cut it down?
  66. > Subject: UJCA: What happens when I junk a crossposted article?
  67. > Subject: USSS: How can I automatically select ONLY articles with
  68. >         specific subjects?
  69.  
  70. ------------------------------
  71.  
  72. Subject: OWDB: Where do I begin?
  73. Contributor: <jtbell@presby.edu> (Jon Bell)
  74.  
  75. If you use trn, you may be interested in my "Introduction to Usenet News
  76. and the 'trn' Newsreader". It covers the basics of reading and posting
  77. articles, signature files, crossposting, etc., and is about 40 pages
  78. long. 
  79.  
  80. There are versions for trn 2.5, 3.0, 3.1, 3.2, 3.3, 3.4 and 3.5 (dated
  81. August 15, 1994); and for trn 3.6 (dated January 4, 1995).  They share the
  82. same text, except for the sections which discuss features that differ from
  83. one version of trn to another. 
  84.  
  85. You can find out which version of trn you are using by typing 'v' (lower
  86. case!) at the newsgroup selection prompt ('read now?'). 
  87.  
  88. This document is available in four formats:  
  89.  
  90.     1. as a Macintosh WriteNow 3.0/4.0 document;
  91.     2. as a Microsoft Rich Text Format file which can be opened by 
  92. MS Word 4.0 (or later) for the Mac and by other word processors for Mac,
  93. DOS and Windows;
  94.     3. as a PostScript file which can be printed (I hope) on any 
  95. PostScript printer;
  96.     4. as a plain ASCII text file which lacks all the font information
  97. and most of the formatting (use this as a last resort).  
  98.  
  99. Format #1 is in the form of a BinHexed Stuffit archive (*.sit.hqx).  The
  100. other formats are text files which have been compressed using GNU zip
  101. (*.gz). 
  102.  
  103. You can get this document either (a) by anonymous ftp from cs1.presby.edu,
  104. directory pub/trn-intro; or (b) from the Presbyterian College gopher server
  105. (gopher.presby.edu, port 70; or somewhere in your "Other Gophers" menu), in 
  106. the directory "Internet Resources".
  107.  
  108. (a) <URL:ftp://cs1.presby.edu/pub/trn-intro/>
  109. (b) <URL:gopher://gopher.presby.edu>
  110.  
  111. If you have neither ftp nor gopher, I'll be happy to send you a copy via 
  112. e-mail.  Please specify which version of trn you have and which format
  113. (WriteNow, RTF, PS or text) you want.
  114.  
  115. [Editor's Note: request this from Jon Bell <jtbell@presby.edu>]
  116.  
  117. ------------------------------
  118.  
  119. Subject: OODA: What other documentation is available?
  120. Contributor: Larry W. Virden <lvirden@cas.org>
  121.  
  122. Here is a list of the documentation for trn that I have found useful:
  123.  
  124. 1. We start with the trn man page - while quite large, it has a lot
  125. of useful info.  There are also smaller man pages for Pnews, Rnmail,
  126. newsetup, and newsgroups.  I don't know if they are up to date with
  127. relationship to things like FAST_PNEWS, etc.
  128.  
  129. 2. There are also 2 text files that folk find useful: NEW and HINTS.TRN.
  130. These detail the changes in trn as well as a set of hints on things
  131. that one can do with it. These have both been incorporated into this
  132. FAQ, under Subjects OLVW and CWHT in Part 1, and OVTC in Part 2.
  133.  
  134. 3. There is the intro to trn document written by Jon Bell
  135. <jtbell@presby.edu> mentioned above. This gives one a gentle
  136. introduction to the use of the command to the first time user.
  137.  
  138. There is also an html version of Version 3.3 at
  139. <URL:http://www.wimsey.com/wimsey/trnint-3.3.html> or
  140. <URL:http://ocf.berkeley.edu/help/usenet/trnint-3.3.html>
  141.  
  142. It is also available on
  143. <URL:gopher://cs1.presby.edu/11/net-resources/trn-intro>.
  144.  
  145. 4. There is the KILL file FAQ - killfile-faq - found at places like:
  146. <URL:gopher://depot.cis.ksu.edu/00/Frequently%20Asked%20Questions%20%28FAQs%29/killfile-faq>
  147. or
  148. <URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/killfile-faq/faq.html>
  149.  
  150. 5. Of course there is strn - the scoring/scanning/super trn research
  151. project. See Subject: OSTR in Part 2 of this FAQ.
  152.  
  153. ------------------------------
  154.  
  155. Subject: OCNN: How does trn compare to other popular newsreaders like nn?
  156. Contributors: Nancy McGough <nancym@ii.com>,
  157.         Wayne Davison <trn@trn.com>,
  158.         Tom Christiansen <tchrist@mox.perl.com>,
  159.         Lazlo Nibble <lazlo@mack.rt66.com>
  160.  
  161. Notation
  162. ========
  163.  + is an advantage
  164.  o is neutral
  165.  - is a disadvantage
  166.  ? is open to debate
  167.  
  168. NN 6.4.16
  169. =========
  170. + easier macro language
  171. + more powerful kill/select abilities (ANDing, ORing)
  172. + dedicated newsgroup (news.software.nn) for discussion
  173. + l command for flagging (with =) and leaving an article to deal with it later
  174.   (this is better than trn's M command which just returns an article as unread 
  175.   next time)
  176. + incredibly customizable
  177. + more robust on-the-fly killfile entry construction
  178. + configurable "instant" entry creation ("Kill subject 30 days?")
  179. + any kill/select can be set to expire
  180. + can easily view and organize your folders (both mail and news) with nn
  181. + can merge newsgroups
  182. + can search all (or some) newsgroups for subject and/or author
  183. o faster auto killing/selecting
  184.   [Davison: "I don't believe that nn is any faster at auto-killing than trn."]
  185. o can split/unsplit digests
  186.   [Davison: "If you are running the NOV-compatible version of nn this doesn't
  187.   work."]
  188. - does not thread
  189. - not very active participation by developer(s) in newsgroup (news.software.nn) 
  190. - can only search on subject and/or author; also author is the "real name" 
  191.   rather than full From line
  192. - macro names limited to 2 characters (as far as I can tell)
  193. ? more powerful macro language
  194.  
  195. TRN 3.6
  196. =======
  197. + newsgroup selection level is friendlier than nn's A/B (advance/back)
  198.   commands (I like being able to see the list of newsgroups that I
  199.   say no to)
  200. + true threading (uses References line)
  201. + graphic view of thread ("article tree")
  202. + uses NOV (new overview database) for fast searching of headers; also
  203.   NOV is used by other newsreaders (eventually nn too)
  204. + can search body of article
  205. + can search full header
  206. + can reorder subscription list from within TRN (using m)
  207. + can have macro names longer than 2 characters
  208. + active participation by trn developer in newsgroup (news.software.readers)
  209. + can reverse the sort order (e.g., most recent at the top)
  210. + intrinsic commands for going to root/leaf of a thread (in nn you
  211.   need to do this with macros or a sequence of commands)
  212. + intrinsic command for auto-selecting your articles
  213. + easy to change attribution line to whatever you want (using ATTRIBUTION)
  214. + when you post you get lots of blank headers (e.g., Followup-To) put
  215.   into your editor 
  216. o newsgroup (news.software.readers) for discussion but also contains lots 
  217.   of non-TRN discussion.
  218. ? harder macro language
  219.  
  220. This is certainly not a complete list.
  221.  
  222. ------------------------------
  223.  
  224. Subject: OLVW: What's the latest version of trn and where can I get it?
  225. Contributor: Wayne Davison <trn@trn.com>
  226.  
  227. Trn 3.6 was released in November, 1994. One place to get it:
  228.  
  229. <URL:ftp://ftp.uu.net/networking/news/readers/trn/trn-3.6.tar.gz>
  230.  
  231. The patch to turn 3.5 into 3.6 is there as well:
  232.  
  233. <URL:ftp://ftp.uu.net/networking/news/readers/trn/trn-3.5-3.6.diff.gz>
  234.  
  235. There are .Z versions of the latest source available as well, and
  236. mthreads resides in the same spot, if you need it.
  237.  
  238. Changes from trn 3.5 to trn 3.6:
  239.  
  240.    o    Added support for slow network connections by: (1) making use
  241.     of the LIST ACTIVE <group.name> extension (if available),
  242.     (2) beginning to display the received article as it is received
  243.     from nntp, and (3) making the Pnews (posting) script query the
  244.     group info more efficiently.
  245.    o    Changed nntplist's command-line syntax slightly so that it is
  246.         more orthogonal and so that it can pass an argument to LIST
  247.     ACTIVE or LIST NEWSGROUPS.  ** If you use nntplist in your own
  248.     scripts you'll need to switch them over to using the -o (output)
  249.     option. **
  250.    o    Added :p command to post from the selector.
  251.    o    Added the Ctrl-E command to display the end of the current article.
  252.    o    Enhanced the ':' command to operate on non-selected thread/articles
  253.     (use ::cmd) or to operate on just the current thread (use :.cmd or
  254.     ::.cmd).
  255.    o    Added a 't' modifier for the search command to start the search
  256.     at the top of the group.  E.g.:  /subject string/t:+
  257.     The default for searches in the selector has always been the top
  258.     of the group, so this only affects the command while reading
  259.     articles.
  260.    o    Improved the catchup command to allow you to specify an article
  261.     count to leave unread in the group.
  262.    o    Added a new sort order for the article selector -- by 'n'umber.
  263.    o    Enhanced the %( arg = regex ? : ) syntax to allow a % expansion
  264.     in the regex portion of the comparison.
  265.    o    Enhanced xref code to not go sub-optimal on C news's single-group
  266.     xref lines.
  267.    o    Added support for generic authentification (available in the
  268.     reference NNTP 1.5.12 and INN 1.5).
  269.    o    Fixed an elusive crash bug that would not let some people run
  270.     trn from cron.
  271.    o    Other misc. bug fixes.
  272.  
  273. For those wishing to take advantage of the slow-network enhancements,
  274. look for nntp-1.5.12, ask Wayne Davison <trn@trn.com> for a
  275. minor patch to INN 1.4, or wait for INN 1.5 (ask Rich Salz when that
  276. will be).
  277.  
  278. ------------------------------
  279.  
  280. Subject: OPFV: What's planned for future versions?
  281. Contributor: Wayne Davison <trn@trn.com>
  282.  
  283. Trn 4.0 will allow multiple, simultaneous news sources to be open at the
  284. same time (both local and remote) with full control over what
  285. servers/local-directories are to be used available to each user (each
  286. source needs its own .newsrc file).  You may either switch from server
  287. to server, or have multiple newsrcs open at the same time (if a group is
  288. available from multiple sources, it is read from the first newsrc that
  289. has it available).  It even allows you to use a remote news source and a
  290. local (or nfs-mounted) active file, all configurable at run-time.
  291.  
  292. Trn 4.0 also has a newsgroup selector and an add-group selector working,
  293. but still needs some finishing touches.  The author is also talking with
  294. Cliff Adams about integrating strn into trn for version 4.0, but we'll
  295. see what kind of time frame this will require and how soon the rest of
  296. the code gets finished up.
  297.  
  298. Trn 4.0 will also run under MSDOS, and OS/2.
  299.  
  300. ------------------------------
  301.  
  302. Subject: CUCF: How do I use a configuration file for trn?
  303. Contributors: Mark McLeod <mmcleod@clark.net>,
  304.         Peter J. Kappesser <pjkappes@mailbox.syr.edu>
  305.  
  306. Set the environment variable TRNINIT to the name you want to use for the
  307. configuration file (most people use $HOME/.trninit). The file itself can
  308. contain option flag settings and environment variable assignments, using
  309. the trn command syntax. See the example in Subject: CWHT below.
  310.  
  311. ------------------------------
  312.  
  313. Subject: CSKF: I hate the way trn saves its killfiles! How can I change it?
  314. Contributors: Peter J. Kappesser <pjkappes@mailbox.syr.edu>,
  315.         Wayne Davison <trn@trn.com>,
  316.         Leanne Phillips <felan@netcom.com>
  317.         [Adapted from the rn KILL file FAQ and HINTS.TRN]
  318.  
  319. By default trn saves killfiles for each newsgroup in a file named KILL
  320. in a subdirectory built from the name of the newsgroup, e.g.
  321. ~/News/news/software/readers/KILL. It is possible to change the
  322. locations of your KILL files, by setting the environment variables
  323. KILLGLOBAL and KILLLOCAL.  The most popular method is to put all the
  324. files in one directory using the group name as the file name:
  325.  
  326.     KILLLOCAL="%p/Kill/%C"
  327.         KILLGLOBAL="%p/Kill/Global"
  328.  
  329. Where %p is your news directory, usually ~/News, and %C is the full
  330. name of the group, like sci.bio.  This means the kill file for sci.bio
  331. is in ~/News/Kill/sci.bio instead of ~/News/sci/bio/KILL.  Think about
  332. this next time you subscribe to alt.swedish.chef.bork.bork.bork :-) The
  333. global kill file is in the same directory, with the name "Global".
  334.  
  335. Note that you need a file system that allows long file names to make
  336. this work.
  337.  
  338. ------------------------------
  339.  
  340. Subject: CSNG: How can I configure trn to keep from asking me to subscribe
  341.         to new newsgroups?
  342. Contributors: Robert Adelman <bobade@eskimo.com>,
  343.         Wayne Davison <trn@trn.com>
  344.  
  345. You can use the -q option, either from the command line or in your
  346. .trninit file. If -q isn't what you want, always type 'N' at the
  347. new-group prompt and trn will skip them all.
  348.  
  349. See also the AUTOUNSUBSCRIBE environment variable. There's a companion
  350. AUTOSUBSCRIBE function too.  For example, to automatically unsubscribe
  351. all NEW alt groups, use ^alt.*.  More dramatic, to unsubscribe to
  352. everything BUT certain groups, use "*,!^local.*,!^comp.*", for example.
  353. If you're REALLY tired of them, use -q to tell trn to not even check for
  354. new groups at all.
  355.  
  356. ------------------------------
  357.  
  358. Subject: CSRP: Can I get rid of the "hit return" prompts?
  359. Contributors: Michael C Tiernan <mtiernan@nomad.n-reading.ma.us>,
  360.         Wayne Davison <trn@trn.com>
  361.  
  362. Use -f (for fast) option or try using the -t (terse) option, to both
  363. reduce the output and turn on the -f option (by default).
  364.  
  365. ------------------------------
  366.  
  367. Subject: CCHL: How can I customize my header lines?
  368. Contributors: Stan Ryckman <sgr@ae-sun01.alden.com>,
  369.         Steven King, Software Archaeologist <king@wildebeest.cig.mot.com>,
  370.         Wayne Davison <trn@trn.com>,
  371.         Peter J. Kappesser <pjkappes@mailbox.syr.edu>
  372.  
  373. > I would like to have trn add a header line of my choice, such as:
  374. > "X-Disclaimer: Even I put no faith in what I write."
  375.  
  376. Look for the "NEWSHEADER" or "MAILHEADER" environment variables. The
  377. best thing to do is to put it in your .trninit file (and point the
  378. TRNINIT environment variable at the file if you haven't already done
  379. so). Then, use the default definition as mentioned in the man page (or
  380. copy it out of the common.h source file, if you have access to it), and
  381. tweak the value as you desire.
  382.  
  383. The following lines represent trn's default headers for posting an
  384. article.  If you want to customize your header copy this to your
  385. .trninit file and modify it (and _don't_ use Pnews directly to post,
  386. use trn -- the ".f" command from newsgroup prompt works well for this).
  387. [Caution: Lines have been quoted with "> " to conform to FAQ minimal
  388. digest format, which forbids "Subject:" at the beginning of a line in
  389. the body of a section; and, the first line is longer than 80 columns.]
  390.  
  391. > -ENEWSHEADER="%(%[followup-to]=^$?:%(%[followup-to]=^%n$?:X-ORIGINAL-NEWSGROUPS: %n
  392. > ))Newsgroups: %(%F=^$?%C:%F)
  393. > Subject: %(%S=^$?%\"
  394. >
  395. > Subject: \":Re: %S)
  396. > Summary:
  397. > Expires:
  398. > %(%R=^$?:References: %R
  399. > )Sender:
  400. > Followup-To:
  401. > %(%{REPLYTO}=^$?:Reply-To: %{REPLYTO}
  402. > )Distribution: %(%i=^$?%\"Distribution: \":%D)
  403. > Organization: %o
  404. > Keywords: %[keywords]
  405. > Cc: %(%F=poster?%t:%(%F!=@?:%F))
  406. >
  407. > "
  408.  
  409. ------------------------------
  410.  
  411. Subject: CWHT: Where can I find some hints and configuration examples?
  412. Contributors: Peter J. Kappesser <pjkappes@mailbox.syr.edu>,
  413.         Wayne Davison <trn@trn.com>
  414.  
  415. Well, you could ftp the latest version of trn, uncompress and de-tar the
  416. HINTS.TRN file... or I could just insert most of it here (the sections
  417. not otherwise discussed in more depth elsewhere in this FAQ).
  418.  
  419. ======================================================================
  420. Certain environment variables, like RNINIT, must be set in your shell
  421. (how else does trn know to look there for the rest?).  Others, like
  422. REPLYTO may be useful in other programs, so you could consider putting
  423. that in your shell startup file too. But most of them are specific, like
  424. MAILHEADER, so you might as well set them in the init file with the -E
  425. option.  That's why most of them look like -EMAILHEADER=xx rather than
  426. MAILHEADER=xx -- to remind you.
  427.  
  428. Helpful hints:
  429.   o Two new and useful flags are the -p and -G flags.  -p means automatically
  430.     select any thread that you have posted a message to.  This makes it very
  431.     easy to track replies to your insightful comments :-) (to automatically
  432.     select other threads, try the 'T' command).  -G tells the 'g' command
  433.     to use a loose match algorithm on groups it can't find.  So if you type
  434.     "g news.softwre.raeders.genrl", it will assume that you meant to type
  435.     news.software.readers and take you there.  It is usually easier to type
  436.     "/reader" than using a 'g' command, but use -G too.
  437.  
  438.   o The 'X' command in the selector (kinda like catchup/yes) can be made the
  439.     default action on the last page of selections by using the command-line
  440.     option:  -XX.  This lets you browse all the pages, making selections as
  441.     you go, and then mark everything that was not selected as read when you
  442.     press space at the last page.
  443.  
  444.   o If you like to select a little, read a little, and then select a little
  445.     more, try using the command-line option:  -XDD.  This makes the 'D'
  446.     command the default on all pages of the selector.  Thus you can select
  447.     the things you want to read on the current page, press space, and you
  448.     will read the selected articles immediately (if there were any).  All
  449.     other articles on the current page will be marked as read.
  450.  
  451.   o To use mush to send all R)eplies:
  452.     -EMAILPOSTER="mush -h %h"
  453.  
  454.   o To use elm to send all R)eplies:
  455.     -EMAILHEADER="\\000"
  456.     -EMAILPOSTER="elm -i %h -s '%'s' %t"
  457.  
  458.   o To tailor the time field:
  459.     A good example is -ELOCALTIMEFMT="%A, %B %e %Y, %r %Z" which becomes:
  460.     Date: Saturday, June 12 1993, 08:15:32 PM PDT.  (The default is
  461.     "%a %b %e %X %Z %Y", which is like the date(1) command).  See the
  462.     strftime(3C) man page for more details on other % characters.
  463.  
  464.   o To tailor the "In article <blahblahblah>, joe@user (Joe User)" line:
  465.     person's name only: %)f
  466.     person's address only: %>f
  467.     For example: -EATTRIBUTION='According to %)f <%>f>:'
  468.  
  469.   o If you want replies to your postings to go to a machine other than the
  470.     machine you're posting from, set the REPLYTO environment variable.  For
  471.     example, you might set this if you were trn's author:
  472.     -EREPLYTO="trn@trn.com (Wayne Davison)"
  473.  
  474.   o You might like to redefine the 'u' keys in the following way:  'u' visits
  475.     the "Set unread?" prompt (except in the thread selector), 'U' goes
  476.     directly to the already-read article selector, and Ctrl-U unsubscribes
  477.     from the group (even while in the thread selector).  Put the following
  478.     3 macros in your .rnmac file to accomplish this (or change TRNMACROS to
  479.     .trnmac and put them there):
  480.  
  481.     u    %(%m=[aefnp]?U:u)
  482.     U    %(%m=[aefnp]?U+:U)
  483.     ^U    %(%m=t?+u:u)
  484.  
  485.   o If you like to be able to move forward/backward by article number more
  486.     often than you need to search by subject, redefine ^N and ^P to be _N
  487.     and _P by putting these lines into your macro file:
  488.  
  489.     ^P    %(%m=[aep]?_P:^P)
  490.     ^N    %(%m=[aep]?_N:^N)
  491.  
  492.   o If you like the way that 'q' worked in the thread selector in trn 1.x,
  493.     put the following macro in your macro file:
  494.  
  495.     q    %(%m=t?+:q)
  496.  
  497.   o If you would like the 'f' command to always answer yes to the "Are you
  498.     starting an unrelated topic?" question, put this line into your macro
  499.     file:
  500.  
  501.     f    %(%m=[ap]?fy^m:f)
  502.  
  503.   o If you want to be able to save your shar headers in a file as they are
  504.     extracted and you have access to "unshar" (a program that can extract
  505.     shar files while saving the headers in UNSHAR.HDR), twiddle the external
  506.     extract command to send the entire article:
  507.  
  508.     -EEXSAVER="%e <%A"
  509.  
  510.     and then point the UNSHAR variable at unshar instead of /bin/sh:
  511.  
  512.     -EUNSHAR="unshar -s"
  513.  
  514.     Note that this assumes that any other commands you execute with
  515.     "e dir|command" can also handle the entire article as input
  516.     (uuencoded and shipped files are not affected).
  517.  
  518. If you're curious, trn's author has the following .trninit file:
  519. ======================================================================
  520. -XX -B -N -f -x11ms "-F> " -pp -G -u +e -mu
  521. -hunrecognized
  522. -ELOCALTIMEFMT="%A, %B %e %Y, %r %Z"
  523. -ESELECTCHARS="abdefgijlmorstuvwxyz1234567890BCFGHIKVW"
  524. -EKILLLOCAL="%p/Kill/%C"
  525. -EKILLGLOBAL="%p/Kill/Global"
  526. -EMAILPOSTER="elm -i %h -s '%'s' %t"
  527. -EFORWARDPOSTER="elm -i %h -s '%'[subject]' %q"
  528. -EATTRIBUTION="According to %)f <%>f>:"
  529. ======================================================================
  530.  
  531. and the following .trnmac file:
  532. ======================================================================
  533. u    %(%m=[aenp]?U:u)
  534. U    %(%m=[aenp]?U+:U)
  535. ^U    %(%m=t?+u:u)
  536. o    %(%m=[nf]?O:o)
  537. O    %(%m=[nf]?o:O)
  538. ~T    s ~/Mail/trn
  539. ~M    | /bin/mail davison
  540. ^[^[    ^[
  541. ======================================================================
  542.  
  543. ------------------------------
  544.  
  545. Subject: CVNF: How can I use various .newsrc with trn?
  546. Contributor: Steven King <king@wildebeest.cig.mot.com>
  547.  
  548. Make a separate directory for each .newsrc you want, then set the DOTDIR
  549. environment variable to point to the proper directory.  See the trn man
  550. page for more information.
  551.  
  552. Alternately, you can make separate .newsrc files in your home directory
  553. (say, .newsrc-1, .newsrc-2, etc.) and softlink the appropriate one to
  554. .newsrc.  (This may cause a problem with other dot files, like .rnsoft
  555. and .rnlast.  I think I'd recommend the DOTDIR method, actually.)  For
  556. information about making softlinks, see the man page for "ln".  The
  557. basic syntax is "ln -s .newsrc-1 .newsrc".
  558.  
  559. ------------------------------
  560.  
  561. Subject: CMLV: How can I make Pnews and Rnmail less verbose?
  562. Contributors: Matt Foley <mfoley3@chaucer.helios.nd.edu>,
  563.         Wayne Davison <trn@trn.com>
  564.  
  565. > How do I get rid of the "you'll be spending money if you post this"
  566. > message, as well as the rest of the defaults?  I would like to be able
  567. > to hit r, R, f, or F and have trn jump into vi with the signature file
  568. > already attached.
  569.  
  570. Make sure you're running a modern version of trn with the latest Pnews
  571. installed and set the environment variable FAST_PNEWS=y either in a
  572. .trninit file or in a .login/.profile shell script and the prompts for
  573. posting vanish.  To have a signature file already attached, use
  574. ~/.news_sig instead of ~/.signature (see the Pnews man page).
  575.  
  576. For a small site it also works to put "-EFAST_PNEWS=y" in the INIT
  577. file for the entire site.  I suggest not doing this for a large site,
  578. as the extra questions might help a new user understand where their
  579. postings are going.
  580.  
  581. For the reply-side, if you have a smart mailer you can by-pass the
  582. Rnmail script completely.  I have the following definitions in my
  583. .trninit file to call elm directly with the correct info:
  584.  
  585. -EMAILPOSTER="elm -i %h -s '%'s' %t"
  586. -EFORWARDPOSTER="elm -i %h -s '%'[subject]' %q"
  587.  
  588. In this case you'll have to use elm's signature-handling, since
  589. this by-passes the Rnmail script completely (i.e. ~/.mail_sig
  590. handling is done in this script).
  591.  
  592. Alternately, you could tweak the Rnmail script and use the modified
  593. version.  See the default definitions for MAILPOSTER and FORWARDPOSTER
  594. in the trn man page for what to plug into these variables to use a
  595. modified script.
  596.  
  597. ------------------------------
  598.  
  599. Subject: CSGD: How can I set a save directory for a group that's not the
  600.         same as the name of the group?
  601. Contributor: Wayne Davison <trn@trn.com>
  602.  
  603. This requires some environment variable tweaking in the memorized commands
  604. for the group:
  605.  
  606. &-ESAVEDIR=%p/custom_dir
  607. X&-ESAVEDIR=%p
  608.  
  609. The first line is executed on entry to the group, setting the default
  610. save directory to ~/News/custom_dir.  The second line is executed on
  611. group exit and sets the save directory back to ~/News.
  612.  
  613. ------------------------------
  614.  
  615. Subject: URJA: Whoops, I hit "n" before I was done reading an article. How
  616.         can I see it again?
  617. Contributors: Mike Castle <mcastle@umr.edu>,
  618.         Peter J. Kappesser <pjkappes@mailbox.syr.edu>,
  619.         Wayne Davison <trn@trn.com>
  620.  
  621. '-' toggles between the last two entered articles, read or not. If you
  622. know the subject line, or even part of it, type:
  623.  
  624. /searchstring/m
  625.  
  626. and that will mark the article as unread so you can read it again.
  627. If you happen to know the number of the article, simply typing the
  628. number would have taken you to that article. Or, in the article
  629. selector, type "U" to select from articles marked as read.
  630.  
  631. '<' goes back to the previous subject/thread that you just killed.  If
  632. this was the last one before jumping back into the selector, type '+' to
  633. quit the selector instead and you'll be at the article you read last.
  634.  
  635. Once you're in the already-read thread you can use "Ut" if you want to
  636. mark it as unread and just 'n' your way through it again.  OR use the
  637. arrow keys to navigate the tree to the spot you left off and use "Us"
  638. to set just a sub-thread unread. OR you might find it more convient
  639. to just use 'N' to navigate through the already-read articles.
  640.  
  641. Finally, if you accidentally lose a whole bunch of articles (like you
  642. pressed 'X' in the selector accidentally) you can restore the group's
  643. state to what it was when you started trn by using the 'A' (abandon)
  644. command at the newsgroup prompt for the group.
  645.  
  646. ------------------------------
  647.  
  648. Subject: UGNG: Is there a way to go to a particular newsgroup more easily
  649.         than typing "g incredibly.long.newsgroup.name"?
  650. Contributors: Nancy McGough <nancym@ii.com>,
  651.         Peter J. Kappesser <pjkappes@mailbox.syr.edu>,
  652.         Tim Pierce <twpierce@quads.uchicago.edu>
  653.         Steven King, Software Archaeologist <king@wildebeest.cig.mot.com>
  654.  
  655. At the newsgroup selection level just type:
  656.  
  657.   /string
  658.  
  659. and it will prompt you with the next newsgroup in your .newsrc that
  660. contains "string", which can contain wildcards like filenames. So,
  661. "/long*name" would go to the first group that matched that pattern.
  662. Unlike filename globbing, the pattern is not anchored: e.g., "/fur" will
  663. find "alt.fan.furry." You may use ^ or $ to anchor to the front or back
  664. of the string, such as "/^misc" to find a group in the misc.* hierarchy
  665. but avoid any *.*.misc groups.
  666.  
  667. If you want to read several groups matching the same pattern, use the
  668. "o" command, e.g. "o ^rec" to see only the rec.* groups in your .newsrc.
  669. To get back to normal operation and read other groups, type "o" alone;
  670. the restriction is automatically removed when there are no articles left
  671. in the matching set of newsgroups.
  672.  
  673. Trn also has a "fuzzy" newsgroup name-matching option. If you can
  674. remember something close to the newsgroup name, trn will figure it out.
  675. This is activated with the -G option in your .trninit file, or set from
  676. the command line with &-G. It does make name matching a bit slower, so
  677. it's not on by default.
  678.  
  679. ------------------------------
  680.  
  681. Subject: UAST: How can I automagically SELECT a thread instead of KILLING it?
  682. Contributors: Logan Shaw <kronos.arc.nasa.gov>,
  683.         Paul Tomblin <ptomblin@compass.telemax.com>,
  684.         Peter J. Kappesser <pjkappes@mailbox.syr.edu>,
  685.         Jon Bell <jtbell@presby.edu>
  686.  
  687. > What I want is to be able to select a thread, and then have trn
  688. > -remember- that the thread was selected and automagically select it in
  689. > the next session.  This would be like the opposite of killing a thread.
  690.  
  691. Check out the 'T' command in the man page. From the selector, you may
  692. select the thread (+), junk the thread (j), or clear the auto-selection/
  693. junking for the thread (c). On the article level, you may also select an
  694. article and its replies (.), junk an article and its replies (,), or
  695. clear the auto-selection/junking for an article and its replies (C).
  696.  
  697. Here're two ways to use it:
  698.  
  699. (1) While reading a thread, hit 'T', then hit '+' at the prompt which 
  700. follows.  This dumps the message-ID's of all the articles in the thread 
  701. into your killfile as "followup-selection" commands, so that all 
  702. follow-ups to them will be selected automatically in the future.  As the 
  703. articles expire, so do the corresponding selection commands, so you don't 
  704. have to worry about cleaning out your killfile.
  705.  
  706. (2) After selecting one or more threads in the thread selector, type 
  707. ':T+' and hit 'return' or 'enter'.  This does something similar to the 
  708. above.  
  709.  
  710. ----------------------------
  711.  
  712. Subject: USMR: How can I keep track of replies to my posts?
  713. Contributors: Michael C Tiernan <mtiernan@nomad.n-reading.ma.us>,
  714.         Mike Castle <mcastle@umr.edu>,
  715.         Paul Tomblin <ptomblin@compass.telemax.com>
  716.  
  717. > Can trn show me or select for me any articles that were posted
  718. > to a newsgroup in reply to one of my messages?  This way, when I
  719. > come to a group, I can automagically follow a discussion without
  720. > having to try to remember what it was that I was involved in?
  721.  
  722. Use the -p option, which tells trn to auto-select your postings and
  723. their replies as it encounters them in the various groups you read.
  724. The -pp option selects the article you're replying to, and any replies
  725. to it including your own. Very handy. The man page explains various
  726. other options.
  727.  
  728. If it seems some threads with your posts aren't getting selected when
  729. you first enter a newsgroup (especially if you crossposted a followup),
  730. you may also want to set the -a option. Without -a, trn enters a group
  731. with the minimum processing necessary, and that doesn't include scanning
  732. already-read articles (that's what the -a option is for). In such a
  733. case, the crossposted group doesn't have an auto-select command for your
  734. posting until after it scans all of the already-read articles in the
  735. group and finds that there's a posting from you that it should be
  736. processing. At this point the selector has already been displayed and so
  737. you probably don't see the fact that some followups just got selected.
  738.  
  739. ------------------------------
  740.  
  741. Subject: USST: Is there an easy way to save a specific thread, without
  742.         saving others I've also selected but haven't read yet?
  743. Contributors: Neklan <neklan@euclid.mlnet.com>,
  744.         Wayne Davison <trn@trn.com>,
  745.         Ian T. Zimmerman <itz@crl.com>, Mike Castle <mcastle@umr.edu>
  746.  
  747. > Say you are reading a news group, and you've selected thread A with 4
  748. > posts and thread B with 6 posts and thread C with 7 posts. You read A,
  749. > and don't want to keep it... fine. Then you read a couple of articles in
  750. > B and realize you want to archive the entire thread.
  751. >
  752. > If I went back to the thread selector and did :s file.name  I'd also
  753. > wind up saving thread C.  But at that point I'm not sure if I want to
  754. > archive that thread!
  755. >
  756. > Is there a way to archive the particular thread that you are currently
  757. > on without also getting other threads that happened to be selected at
  758. > the time?
  759.  
  760. Not without some extra work.  You have a couple options, if you find the
  761. thread savable, go on to the next threads via '>', and after reading it
  762. you will eventually be returned to thread 'B', at which point you know
  763. that only the threads you decided to leave with '>' are left, and you
  764. can use :s right from the article prompt.
  765.  
  766. Alternately, visit the selector, press 'E' to exclude all non-selected
  767. threads, and press 'M' on each thread that you don't want to save.
  768. After using :s to save the threads you do want, press 'Y' to yank back
  769. the other threads.
  770.  
  771. Trn 3.6 has a single-thread command similar to ":cmd" that makes this easy.
  772.  
  773. Unfortunately, if you exhaust all the articles in B (read them to the
  774. end) before deciding on saving that thread, they're marked as read, and
  775. you have to use 'U' to get them back. You could design a macro to help
  776. by automating the retrieval keystrokes, though it's possible that if you
  777. read the same thread the next day, you'll save the same messages twice.
  778.  
  779. ------------------------------
  780.  
  781. Subject: USPW: How can I select articles which contain a particular word
  782.         in the body?
  783. Contributors: Perry Hutchison <perryh@pluto.rain.com>,
  784.         Wayne Davison <trn@trn.com>
  785.  
  786. > I want to select any articles in a particular group which mention
  787. > "oregon" in the body or subject.  The obvious solution is
  788. >
  789. >       /oregon/a+
  790.  
  791. One thing you can do is to put \b before and after a word you wish to
  792. match (\b matches a word boundary):
  793.  
  794.         /\boregon\b/a+
  795.  
  796. This would keep it from matching uoregon but would not stop it from
  797. matching a sitename of just oregon in the path, if such a site exists.
  798.  
  799. If you want to disregard the header in your search, try:
  800.  
  801.    /search string/b:+
  802.  
  803. Using the 'b' modifier only searches the body of the article, and it
  804. stops searching at the "-- \n" line which most(?) people still use to
  805. delimit their signature.  This will let you find something in the body
  806. of the article without hitting a header and without hitting (most)
  807. signatures. [It will not ignore attribution lines, however.]
  808.  
  809. ------------------------------
  810.  
  811. Subject: USSP: How to select based on my script that processes an article?
  812. Contributors: Larry W. Virden <lvirden@cas.org>,
  813.         Wayne Davison <trn@trn.com>
  814.  
  815. > Trn has the ability within the KILL file to indicate that an article
  816. > matching a regular expression should be piped into a program.
  817. >
  818. > What I would like is for the _return code_ of the program on the end
  819. > of the pipe to determine whether an article was marked as selected,
  820. > junked or left alone. What I want to do is be able to say things like:
  821. >
  822. > /nonsense/:|mycheck
  823. >
  824. > and then have mycheck be something like:
  825. >
  826. > #! /bin/sh
  827. > grep -s 'morestuff' >> /dev/null
  828. > return $?
  829. >
  830. > so that now I can do operations on the news article, and have the return
  831. > code determine whether the item deserves to be selected or not.
  832.  
  833. Here's something that should help you out:
  834.  
  835.     /subject search/:%(%`fgrep -c trn %A`=^0?-:+)
  836.  
  837. This works quite well on a local trn since %A points to the real article
  838. even when you are doing subject searches.  The command portion uses the
  839. if-then-else operator -- %( = ? : ) -- to run a program via the execute
  840. operator -- %`cmd` -- and compare the output to 0 (it's a regex compare,
  841. so make sure to anchor it via '^').  Based on the result of this it either
  842. deselects or selects the article (-/+).  Substitute a shell script for
  843. the fgrep and have it echo 0 or 1 and you're all set.
  844.  
  845. If you are using an NNTP version, %A may not have the correct article
  846. text in it (trn only fetches one article at a time).  This seems to be
  847. a bug in the %A expansion (which should force the article to be fetched
  848. when you reference it -- it's fixed in version 3.6), so with older
  849. versions you'll have to force trn to fetch each article before it runs
  850. the command by using something like this with the 'a' modifier on the
  851. search:
  852.  
  853.     /^[^A-Z]./ca:%(%`fgrep -c trn %A`=^0?-:+)
  854.  
  855. The search portion of this is an attempt to match past the header, since
  856. trn doesn't bother to read the whole article until it fails to match the
  857. header portion.  In version 3.6 you don't have to jump through this hoop
  858. to get this to work.
  859.  
  860. ------------------------------
  861.  
  862. Subject: USNA: How can I see only the new articles in trn?
  863. Contributor: Wayne Davison <trn@trn.com>
  864.  
  865. There are ways to force trn to do something like this, but you might not
  866. need this as much as you think.
  867.  
  868. When new articles arrive trn automatically selects the ones that show
  869. up in the threads that you selected this session, so if the articles
  870. show up and they aren't selected you either already rejected them
  871. or they will be listed at the end of the selector in date order.
  872. Press '$' to get to the last page if you aren't already there.
  873.  
  874. If you still have that urge to see the newly-arrived articles, there are
  875. a couple things you can do in trn 3.6 to facilitate this:
  876.  
  877. Press '=' to switch into the article selector, press "ON" to switch
  878. the order to reverse numeric and look at the subjects it lists for
  879. the first x articles.
  880.  
  881. Alternately, if 5 new articles have arrived, type 'c' (catchup) 5
  882. to mark all but the last 5 articles as read.  What's left in the
  883. selector will be the new articles.
  884.  
  885. If you don't have 3.6, you have to do some math and use the article
  886. mode.  Type '+' to get out of the selector (if you're in it) and press
  887. '#' to see the last article number.  If the output is 10762 and there
  888. are 5 new articles you'd type "10758-10762 +" to select all the
  889. newly-arrived articles and then either read them or press '+' to get
  890. back into the selector and 'E' to see only the selected subjects.  Yuck.
  891.  
  892. ------------------------------
  893.  
  894. Subject: USNF: My .newsrc is huge, and I only read a couple dozen groups!
  895.         How can I cut it down?
  896. Contributors: Peter J. Kappesser <pjkappes@mailbox.syr.edu>,
  897.         Mike Castle <mcastle@umr.edu>
  898.  
  899. You can edit the .newsrc with any text editor. Subscribed groups are
  900. indicated with a ":", unsubscribed with a "!". So, find and delete any
  901. line with a "!" to eliminate unsubscribed newsgroups. From a Unix shell
  902. prompt, the easy way is:
  903.  
  904. cp .newsrc .newsbak ; grep ":" .newsbak > .newsrc
  905.  
  906. The only disadvantage I've seen so far is when I subscribe to a
  907. (previously) completely unsubscribed newsgroup, I may see some
  908. crossposted articles I'd seen before. Big deal.
  909.  
  910. You may need to run trn with the -q option if your news server does not
  911. support an accurate NEWGROUPS command -- i.e. if you get prompted to add
  912. all of those unsubscribed newsgroups. Your sysadmin may need to
  913. reinstall trn to enable this, after which you won't have to run trn with
  914. the -q option, you'll maintain a smaller .newsrc file, and still be
  915. informed of new groups as they're created.
  916.  
  917. ------------------------------
  918.  
  919. Subject: UJCA: What happens when I junk a crossposted article?
  920. Contributors: David Lee Brown <dlb2a@sunipc-12.unixlab.Virginia.EDU>,
  921.         Wayne Davison <trn@trn.com>
  922.  
  923. > If I put
  924. >         /,/Hnewsgroups:k
  925. > in a local KILL file, will it delete all occurances of the article, or
  926. > all of them but the one in the newsgroup?
  927.  
  928. If you tell trn to junk an article then it gets junked in all groups.  If
  929. you wanted to kill it in all other groups but this one, you could junk it
  930. and then mark it as unread:
  931.  
  932.     /,/Hnewsgroups:jm
  933.  
  934. In trn 3.6 there's a command to junk an article only in the current
  935. group (/search/:x) so to do the opposite of what you want, you'd use
  936. /,/Hnewsgroups:x.
  937.  
  938. Some people use this to weed out discussions in a group without affecting
  939. a topic that is cross-posted to a more interesting group.
  940.  
  941. ------------------------------
  942.  
  943. Subject: USSS: How can I automatically select ONLY articles with
  944.         specific subjects?
  945. Contributors: Ian T Zimmerman <itz@rahul.net>,
  946.         Wayne Davison <trn@trn.com>, Goran Edvardsson <ge@inregia.se>
  947.  
  948. > In some newsgroups, I want to only read articles with specific subjects.
  949. > So I have put the following in the killfiles for these groups:
  950. >
  951. > /^/j
  952. > /foo/m
  953. > /bar/m
  954. >
  955. > It works OK, except that trn seems _never_ to prepend a THRU line and so
  956. > I keep getting month old articles on foo & bar back! what's the deal?
  957.  
  958. As mentioned in the command help, the 'm' command implies an 'r' modifier,
  959. thus the commands are actually /foo/r:m and /bar/r:m -- both of which are
  960. supposed to ignore the THRU line. Instead, with older versions of trn,
  961. use:
  962.  
  963. /foo/-:M
  964. /bar/-:M
  965. /^/j
  966.  
  967. Newer versions make it simpler:
  968.  
  969. /foo/+
  970. /bar/+
  971. *X
  972.  
  973. This selects the items you're interested in and then (if you so desire)
  974. the *X command tells trn to junk everything that isn't selected.  If you
  975. leave it off you can read all of the selected articles first and then
  976. browse through the remaining articles at your leisure. (Versions before
  977. 3.6 kept the remaining articles selected; but with 3.6, since you just
  978. killed all non-selected articles there's no need to keep them selected.
  979. If you just want to read them, press TAB (or 'Z').  Otherwise it is now
  980. easier to browse through the remaining articles and select only the ones
  981. you *really* want to read.)
  982.  
  983. [In general, the '*' kill file commands in later versions make it easier
  984. to do certain article-killing things.  One such command is *j which
  985. junks all of the unread articles, and the other is *X which junks all
  986. but the selected articles.]
  987.  
  988. In other cases where you're selecting articles based on a pattern, you
  989. may need to unset the -k switch (put "+k" in your .trninit). This tells
  990. trn to observe the THRU line when processing selection searches (i.e.
  991. searches with a command portion that starts with a '+' or a '.') in the
  992. memorized commands (aka kill files). By default, trn runs with this
  993. option set (-k), ignoring the THRU line for selection searches.
  994.  
  995. ------------------------------
  996. End of trn newsreader FAQ, part 1/2.
  997. Posted-By: auto-faq 3.1.1.2
  998. Archive-name: usenet/software/trn-faq/part2
  999. Posting-Frequency: Posted on the 11th and 26th of each month.
  1000. Last-Modified: February 26, 1995
  1001. Version: 3.3 (of FAQ)
  1002. Changes-This-Version: Wayne Davison's preferred address is <trn@trn.com>.
  1003.  
  1004. These articles summarize some frequently-asked questions (and answers)
  1005. about the trn newsreader and associated programs such as Pnews and Rnmail.
  1006.  
  1007. Part 2 has information on more advanced usage questions and bug workarounds.
  1008. This FAQ is maintained by Peter J. Kappesser <pjkappes@mailbox.syr.edu> and
  1009. is archived at <URL:ftp://rtfm.mit.edu/pub/usenet/news.software.readers/>.
  1010.  
  1011. > Subject: ATKS: I want to set up a simple news archive. How can I run TRN
  1012. >         non-interactively (e.g. as a cron job)?
  1013. > Subject: ICAU: If I read an article in one group, then mark it unread, how
  1014. >         can it still appear as unread in groups to which it is crossposted?
  1015. > Subject: MDCX: Is there a command similar to 'D' that marks everything on the
  1016. >         current page as read, but without chasing xrefs?
  1017. > Subject: KDHF: In a killfile, what's the difference between
  1018. >         /@domain-pattern/f:command and /@domain-pattern/Hfrom:command?
  1019. > Subject: MPAS: How do I write a macro to easily reply to the current article
  1020. >         with some canned piece of text (e.g., instructions for getting FAQs)?
  1021. > Subject: ADCU: In rn-compatibility mode, trn dumps core when I Unread
  1022. >         killed subjects.
  1023. > Subject: INLS: Is it possible to build trn so that it can use either nntp
  1024. >         or a local spool depending on the newsgroup concerned?
  1025. > Subject: BASP: Article selection problem in trn 3.4.1
  1026. > Subject: ASUS: Slow performance with trn using SLIP
  1027. > Subject: KIBF: trn 3.4.1 ignores some lines in big killfile
  1028. > Subject: ACNB: Trn thinks certain newsgroups are bogus; TIN doesn't
  1029. > Subject: APNU: Why might trn 3.6 prompt newsgroups with 0 unread articles?
  1030. > Subject: OSTR: What's strn?
  1031. > Subject: OVTC: I have an old version of trn. What changes have been made?
  1032.  
  1033. ------------------------------
  1034.  
  1035. Subject: ATKS: I want to set up a simple news archive. How can I run TRN
  1036.         non-interactively (e.g. as a cron job)?
  1037. Contributors: Michael Owings <mikey@waste.com>,
  1038.         Wayne Davison <trn@trn.com>,
  1039.         Peter J. Kappesser <pjkappes@mailbox.syr.edu>
  1040.  
  1041. Run the "trnkill" script included below from cron and it will enter
  1042. every subscribed group you have just long enough to run the kill file,
  1043. and then exit.
  1044.  
  1045. ---8<------8<------8<------8<---cut here--->8------>8------>8------>8---
  1046. #!/bin/sh
  1047. # trnkill - shell script to apply trn KILL files in the background
  1048. # 14 Mar 89  created for rn by Jim Olsen <olsen@XN.LL.MIT.EDU>
  1049. # 10 Sep 93  modified for trn 3 (or 2) by Wayne Davison <trn@trn.com>
  1050. # Options: -d    debug mode -- you see all gory action as it happens.
  1051.  
  1052. # Visit all newsgroups (if trn asks about anything else, just say no)
  1053. export TRNINIT TRNMACRO RNMACRO
  1054. TRNINIT='-q -s -T -t -x +X'
  1055. TRNMACRO=/tmp/trnkill$$
  1056.  
  1057. # support for trn 2.x
  1058. RNMACRO=$TRNMACRO
  1059.  
  1060. # support for versions older than 3.6 on some systems
  1061. TERM=dumb ; export TERM
  1062.  
  1063. trap 'rm -f $TRNMACRO; exit' 1 2 3 15
  1064. cat >$TRNMACRO <<'EOF'
  1065. z  %(%m=[nf]?.q^J:n)^(z^)
  1066. ^m ^(z^)
  1067. ^j ^(z^)
  1068. EOF
  1069. if test X$1 = X-d; then
  1070.     echo "z" | trn
  1071. else
  1072.     echo "z" | trn >/dev/null 2>&1
  1073. fi
  1074. rm -f $TRNMACRO
  1075. exit 0
  1076. ---8<------8<------8<------8<---cut here--->8------>8------>8------>8---
  1077.  
  1078. If trn crashes when you try to run it as a cron job, it's a problem with
  1079. no terminal being set in the cron-run environment, which is confusing
  1080. trn.  Trn 3.6 fixes this problem by assuming that if you don't have TERM
  1081. set in your environment that your terminal is "dumb". The commands
  1082. "TERM=dumb" and "export TERM" in the trnkill script gets this to work
  1083. with older trns.
  1084.  
  1085. One application of this is to run trnkill in the background when you
  1086. login, so it will "pre-kill" all your newsgroups and you won't have to
  1087. wait as long for trn to process the killfiles when you're actually
  1088. reading news, especially in high-volume, high-noise newsgroups. (Read
  1089. your mail first, since you won't be able to run trn until trnkill
  1090. finishes; or set up a cron job to run shortly before you usually login.)
  1091.  
  1092. You can set up a simple news archive by setting the envariables DOTDIR,
  1093. KILLGLOBAL and KILLLOCAL to point to a directory with a special-purpose
  1094. .newsrc and killfiles. The killfiles contain commands to select and save
  1095. the desired articles. (See Subject: CVNF and Subject: CSKF in Part 1 of
  1096. this FAQ.) The maintainer of this FAQ uses this method to archive all
  1097. articles that mention trn in news.software.readers.
  1098.  
  1099. ------------------------------
  1100.  
  1101. Subject: ICAU: If I read an article in one group, then mark it unread, how
  1102.         can it still appear as unread in groups to which it is crossposted?
  1103. Contributors: David Joslin <joslin@cs.pitt.edu>,
  1104.         Wayne Davison <trn@trn.com>
  1105.  
  1106. This is the MCHASE compile option in the common.h file.  I turned
  1107. this off in trn ages ago because I couldn't stand it.  If I use
  1108. 'M' to set an article as unread in a group, I want it to be there
  1109. when I get back, even if I visit a group to which it is cross-
  1110. posted and 'X' the whole group.  With MCHASE on I have to be
  1111. careful to always 'M' it in every cross-posted group I read until
  1112. I actually finish with it.
  1113.  
  1114. ------------------------------
  1115.  
  1116. Subject: MDCX: Is there a command similar to 'D' that marks everything on the
  1117.         current page as read, but without chasing xrefs?
  1118. Contributors: David Joslin <joslin@cs.pitt.edu>,
  1119.         Wayne Davison <trn@trn.com>,
  1120.         Mike Castle <mcastle@umr.edu>, Paul Clark <prc@sysmag.com>,
  1121.         Steven King, Software Archaeologist <king@wildebeest.cig.mot.com>
  1122.  
  1123. One thing you can do is to turn off the chasing of xrefs in both
  1124. the D and the X command via the -o switch.  You could even do this
  1125. via some macros (put them in your .trnmac file):
  1126.  
  1127. D    %(%m=t?&+o^JD:D)
  1128. X    %(%m=t?&+o^JX:X)
  1129. *D    %(%m=t?&-o^JD:)
  1130. *X    %(%m=t?&-o^JX:)
  1131.  
  1132. How they work:
  1133.  
  1134. When "D" is hit, if current mode (%m) is thread selector (t) then
  1135. do the following (&+ocontrol-jD) else do (D)
  1136.  
  1137. In short, if  you press "D" in thread selector, it acts as if you
  1138. had pressed the keys "&+o^JD", other wise it acts like you
  1139. pressed the "D" key by itself. The ones for "X" work analagously.
  1140.  
  1141. in pseudo code:
  1142.  
  1143.  when "D" is pressed
  1144.   if mode=thread_selector then
  1145.      pretend "&+o^JD" was hit
  1146.   else
  1147.      pretend "D" was hit
  1148.  
  1149. (These are in fact sideways pictures of gorillas in clown outfits in
  1150. four different states of inebriation.  The fact that they make trn do
  1151. something weird and wonderful is a particular piece of brilliance on Mr.
  1152. Davison's part  ;-) Just like in the Olden Days when your name performed
  1153. some magical sequence of operations in TECO, we can feed the smiley
  1154. dictionary to trn's macro processor and see what different smiley faces
  1155. evoke strange and useful behavior. "I didn't like to use smilies at
  1156. all," says Jethro Bodine of Beverly Hills, CA, "until I found that the
  1157. sideways grinning cheshire cat smoking a cigar smiley actually causes
  1158. trn to kill all posts mentioning Dave Rhodes.  Great work, Mr. Davison!")
  1159.  
  1160. ------------------------------
  1161.  
  1162. Subject: KDHF: In a killfile, what's the difference between
  1163.         /@domain-pattern/f:command and /@domain-pattern/Hfrom:command?
  1164. Contributor: Wayne Davison <trn@trn.com>
  1165.  
  1166. You're matching an Internet address. The Hfrom: form ensures that trn
  1167. has the full address, even if you're using a an mthreads database that
  1168. only caches the real name.  For non-mthreads-using people, use either
  1169. one, but the rule is simple: /Hfrom: always matches the full From: line
  1170. while /f matches whatever is cached by your database (if you don't have
  1171. a database then the full From: line is all you have).
  1172.  
  1173. ------------------------------
  1174.  
  1175. Subject: MPAS: How do I write a macro to easily reply to the current article
  1176.         with some canned piece of text (e.g., instructions for getting FAQs)?
  1177. Contributors: Jamshid Afshar <jamshid@ses.com>,
  1178.         Jeffrey Hurwit <jhurwit@netcom.com>,
  1179.         Peter J. Kappesser <pjkappes@mailbox.syr.edu>
  1180.  
  1181. If you have formail (part of the procmail mail filter package) at your
  1182. site, you can use the "|" command to stuff the article into the front
  1183. end of a pipeline such as:
  1184.  
  1185. | (formail -rk; cat canned.text.file) | /usr/lib/sendmail -t
  1186.  
  1187. In your .trnmac file, assign this string to the key of your choice,
  1188. substituting the correct location for sendmail your site. If you don't
  1189. have formail, you can write a script, perhaps using perl, which will at
  1190. least eat the piped-in article, change Reply-To: (if it exists,
  1191. otherwise change From:) to To:, tack it on to your canned.text.file
  1192. (which should have the Subject: and From: headers), and pipe the result
  1193. to sendmail.
  1194.  
  1195. ------------------------------
  1196.  
  1197. Subject: ADCU: In rn-compatibility mode, trn dumps core when I Unread
  1198.         killed subjects.
  1199. Contributors:
  1200. Steven M. Schultz <sms@WLV.IIPO.GTEGSC.COM>,
  1201. Wayne Davison <trn@trn.com>
  1202.  
  1203. > Here's the scenario:
  1204. >
  1205. >       rn  # which is a hard link to trn 3.6
  1206. >       (enter a group)
  1207. >       =
  1208. >       read an article
  1209. >       k   # to kill the subject
  1210. >       U   # oops, I changed my mind
  1211. >       (get the "+tasn" prompt)
  1212. >       t
  1213. >       <dump!>
  1214. >
  1215. >The "SIGSEGV, restoring .newsrc" message is given.
  1216.  
  1217. The "Ut" command erroneously assumes that the group is threaded.  Tell
  1218. your rn users to be brave and start running "rn -X -x" or "rn -X +x" and
  1219. all will be well.  :-)
  1220.  
  1221. Alternatively, the following patch should fix the problem (the line number
  1222. may well be wrong -- this is based on something newer than 3.6):
  1223.  
  1224. Index:ng.c
  1225. @@ -540,5 +540,8 @@
  1226.          return AS_ASK;
  1227.      else if (*buf == 't' && u_help_thread != nullstr) {
  1228. -        unkill_thread(artp->subj->thread);
  1229. +        if (artp->subj->thread)
  1230. +        unkill_thread(artp->subj->thread);
  1231. +        else
  1232. +        unkill_subject(artp->subj);
  1233.          if ((artp = first_art(artp->subj)) != NULL)
  1234.          art = article_num(artp);
  1235.  
  1236. ------------------------------
  1237.  
  1238. Subject: INLS: Is it possible to build trn so that it can use either nntp
  1239.         or a local spool depending on the newsgroup concerned?
  1240. Contributors: David West <david_h_west@um.cc.umich.edu>,
  1241.         Wayne Davison <trn@trn.com>
  1242.  
  1243. No, it's not yet possible. For now what you need to do is to Configure
  1244. it once to read things locally, compile it and save the trn executable
  1245. under some other name. Then Configure it for NNTP access and compile and
  1246. install that (the NNTP scripts are usable locally but not visa versa, so
  1247. this order is important).  Finally, rename the installed trn executable
  1248. trrn and move the saved-off local version to trn.
  1249.  
  1250. Once you've done that you'll need to create a directory for your local
  1251. newsrc that is in a different place than your NNTP newsrc and use the
  1252. DOTDIR environment variable to tell trn which directory to use.  A
  1253. simple alias or a shell file in your local bin dir will take care of
  1254. all the details.
  1255.  
  1256. Trn 4.0 will allow multiple, simultaneous news sources to be open at the
  1257. same time (both local and remote) with full control over what
  1258. servers/local-directories are to be used available to each user (each
  1259. source needs its own .newsrc file).  You may either switch from server
  1260. to server, or have multiple newsrcs open at the same time (if a group is
  1261. available from multiple sources, it is read from the first newsrc that
  1262. has it available).  It even allows you to use a remote news source and a
  1263. local (or nfs-mounted) active file, all configurable at run-time.
  1264.  
  1265. ------------------------------
  1266.  
  1267. Subject: BASP: Article selection problem in trn 3.4.1
  1268. Contributors: Jesus R. Aguillon <aguillon@netcom.com>,
  1269.         Wayne Davison <trn@trn.com>
  1270.  
  1271. > When I do an article selection with 'A' and then '+' using trn 3.3 I get
  1272. > the following in my kill-file:
  1273. >
  1274. > /: *test/:++
  1275. >
  1276. > Assuming the title is "test". When I enter the newsgroup it does the
  1277. > selection properly. With trn 3.4.1 I get:
  1278. >
  1279. > /: *test/:I:++
  1280. >
  1281. > When I enter the newsgroup I get:
  1282. >
  1283. > Processing memorized commands...
  1284. >
  1285. > /: *test/:I:++
  1286. >
  1287. > 9220    ???I:++
  1288. >
  1289. > (Interrupted at article 9220)
  1290. >
  1291. > And no articles get selected.  If I remove the :I then it works just like
  1292. > trn 3.3.  Is there something different in this case between 3.3 and 3.4.1?
  1293.  
  1294. This is a slight botch in 3.4.1 that got fixed in version 3.5 --
  1295. the 'I' is a modifier to ignore the THRU line and should have read:
  1296. "/: *test/I:++", but an extra ':' got stuck in there.
  1297.  
  1298. ------------------------------
  1299.  
  1300. Subject: ASUS: Slow performance with trn using SLIP
  1301. Contributors: Jim Kaufman <jmk@maroon.tc.umn.edu>,
  1302.         Wayne Davison <trn@trn.com>
  1303.  
  1304. > I am running a Linux system that occassionally connects to the
  1305. > University's machine so I can read news or mail. This is a 14.4Kbps
  1306. > SLIP connection.
  1307. >
  1308. > I notice that when trn starts up it reads the entire active file,
  1309. > which is over 400K long. Also, when I then post news, the Pnews
  1310. > script seems to want to do the same thing, as well as read the
  1311. > newsgroups file. Is there some way to avoid this? Maybe point
  1312. > trn at an older active file (or is this a really bad idea?)
  1313.  
  1314. Yeah, this is a drag over a slip line.  Version 3.6 supports a new
  1315. server command to grab the active file in smaller chunks (as small as
  1316. one newsgroup) which will improve this if your server upgrades their
  1317. nntp server to either nntp-1.5.12 (scheduled for release soon), INN 1.5
  1318. (ask Rich Salz for a release date), or a slightly-patched INN 1.4 (ask
  1319. Wayne Davison <trn@trn.com> for the patch).
  1320.  
  1321. If you post from within trn Pnews should be sharing the active file that
  1322. trn grabbed.  If it's not, you probably have a trn/Pnews combination
  1323. that is either too old or out of sync.
  1324.  
  1325. As for the newsgroups file, people on a slip line would do well to
  1326. modify Pnews to point to a local copy that they update from time to time
  1327. (at least through version 3.5).
  1328.  
  1329. Trn 3.6 has an improved Pnews that defaults to not grabbing the files
  1330. (instead getting the info in an interactive session), but since this is
  1331. _slower_ over a fast net connection there is an option to do things the
  1332. old way that each user can specify.
  1333.  
  1334. ------------------------------
  1335.  
  1336. Subject: KIBF: trn 3.4.1 ignores some lines in big killfile
  1337. Contributors: James Buster <bitbug@netcom.com>,
  1338.         Wayne Davison <trn@trn.com>, Larry W. Virden <lvirden@cas.org>
  1339.  
  1340. > I have a local killfile for news.answers, which is 772 lines long. It seems
  1341. > that two or three patterns in the killfile are ignored each time that I
  1342. > read news.answers (I read it once per day, usually). Exactly which
  1343. > patterns is different each time, but the result is that I must (K)ill
  1344. > that subject again, producing a duplicate entry in news/answers/KILL.
  1345. > I use sort and uniq on the killfile to help me identify and delete those
  1346. > duplicate entries. This on a Sun running SunOS Release 4.1.3_U1.
  1347. > Is this a known bug that's been fixed in later releases?
  1348.  
  1349. [Davison:]
  1350. I've never heard of this problem before.  Using 'K' to deposit the kill
  1351. commands in the killfile puts a fairly specific version of the subject
  1352. into the kill file -- are you sure that the subjects aren't changing
  1353. slightly, maybe in spacing or something minor so that the kill commands
  1354. look similar but aren't quite the same?
  1355.  
  1356. One thing you might do is to modify your kill file to make it more
  1357. generic on the subjects you want to kill.  Another option is to switch
  1358. to using "Tj" (if you are using trn 3.5) to kill the subjects by thread
  1359. instead of subject.  This is useful if you're trying to weed out all the
  1360. stuff you're not interested in in news.answers because the thread-kill
  1361. commands automatically expire after the discussion dies.
  1362.  
  1363. [Virden:]
  1364. What COULD be done is to split the kills up between all the smaller
  1365. *.answer groups so that no kill file is so large.  After you get done
  1366. doing all the comp.answers, rec.answers , etc. then you can go into
  1367. news.answers and see what is left.
  1368.  
  1369. ------------------------------
  1370.  
  1371. Subject: ACNB: Trn thinks certain newsgroups are bogus; TIN doesn't
  1372. Contributors: Daniel Jacobs <danielj@snark.wizard.com>,
  1373.         Wayne Davison <trn@trn.com>
  1374.  
  1375. > I have a user who just switched to trn from tin. Some groups that show
  1376. > up fine in tin, trn calls bogus and marks them as unsubscribed in
  1377. > .newsrc, so if he goes back into tin after not being able to read them
  1378. > in trn, he has to resubscribe again. Any ideas?
  1379.  
  1380. What version of trn are you using?  In older versions trn used to
  1381. complain about redirected newsgroups as bogus (those with '=' in the 4th
  1382. field of the active file), but a modern trn reports the redirection and
  1383. allows the user to finish reading the remaining articles before they
  1384. expire.  It might be that the groups are on their last legs.
  1385.  
  1386. The only other thing I can think of is that you're not using the same
  1387. server for both tin and trn, but then you'd REALLY be messed up using
  1388. the same .newsrc file due to the lack of a common numbering system.
  1389.  
  1390. ------------------------------
  1391.  
  1392. Subject: APNU: Why might trn 3.6 prompt newsgroups with 0 unread articles?
  1393. Contributors: Fletcher Mattox <fletcher@cs.utexas.edu>
  1394.         Wayne Davison <trn@trn.com>,
  1395.         Mike Iglesias <iglesias@draco.acs.uci.edu>
  1396.  
  1397. > If you specify a restriction on the command line, trn 3.6 prompts you
  1398. > to read a newsgroup even when there are no unread articles in it.
  1399. > Trn 3.5 didn't do this.  Is there any way to get the old behavior?
  1400.  
  1401. This is a restoration of the old behavior. Instead of typing "trn group"
  1402. start trn and type "O group" (capital O). Another solution is to
  1403. reinstall trn, removing the only line in sw.c that sets "emptyOnly" to
  1404. TRUE. Here's the patch in case someone needs it, from Mike Iglesias:
  1405.  
  1406. *** sw.c.dist    Fri Nov 18 22:01:26 1994
  1407. --- sw.c    Thu Dec  8 22:27:48 1994
  1408. ***************
  1409. *** 164,170 ****
  1410.   #endif
  1411.       if (*s != '-' && *s != '+') {    /* newsgroup pattern */
  1412.       setngtodo(s);
  1413. -     emptyOnly = TRUE;
  1414.       }
  1415.       else {                /* normal switch */
  1416.       bool upordown = *s == '-' ? TRUE : FALSE;
  1417. --- 164,169 ----
  1418.  
  1419. ------------------------------
  1420.  
  1421. Subject: OSTR: What's strn?
  1422. Contributor: Clifford A. Adams <caadams@access.digex.net>
  1423.  
  1424. Strn was written by Clifford A. Adams <caadams@access.digex.net>. It's
  1425. based on trn 3.4.1, but adds many new capabilities to trn, such as a
  1426. newsgroup browser, virtual newsgroups, scoring/rating of articles, and
  1427. easy configuration menus. Strn has been developed and tested over the
  1428. past year with the help of more than 50 alpha testers. The beta release
  1429. is intended to make the current version more widely available, test out
  1430. some of the new concepts (such as index-moderation using virtual
  1431. newsgroups), and gather suggestions for improvement.
  1432.  
  1433. Strn is still under development, although most of its planned features
  1434. are implemented. Future versions of strn will mainly improve the
  1435. documentation, scoring ease-of-use, and configurability of the program.
  1436. Version 1.0 release is expected in a finite amount of time.
  1437.  
  1438. More information, as well as source code for the beta-test version
  1439. 0.9.2, is available from the following FTP sites:
  1440. (North America, Eastern US): <URL:ftp://ftp.uu.net/news/trn/strn/>
  1441.                              <URL:ftp://ftp.digex.net/pub/news/>
  1442. (North America, Southwest US): <URL:ftp://perseus.unm.edu/pub/strn/>
  1443. (United Kingdom):
  1444.         <URL:ftp://src.doc.ic.ac.uk/computing/news/software/readers/trn/strn/>
  1445. (Europe, Netherlands): <URL:ftp://ftp.twi.tudelft.nl/pub/news/>
  1446. (South Africa): <URL:ftp://ftp.ee.und.ac.za/pub/news/strn/>
  1447.  
  1448. ------------------------------
  1449.  
  1450. Subject: OVTC: I have an old version of trn. What changes have been made?
  1451. Contributors: Peter J. Kappesser <pjkappes@mailbox.syr.edu>,
  1452.         Wayne Davison <trn@trn.com>
  1453.  
  1454. Well, you could find out by ftp'ing the latest version of trn, uncompressing
  1455. and de-tar-ing the NEW file... or I could just append most of it here.
  1456. (Changes from trn 3.5 to 3.6 are listed in Part 1, Subject: OLVW.)
  1457.  
  1458. ======================================================================
  1459. If you're upgrading from trn 2.x see the discussion of the -a option,
  1460. the 't' command (newsgroup selection level), and the 'T' command
  1461. (article level & in kill files) for slight incompatibilities between
  1462. trn 2.5 and trn 3.0.
  1463.  
  1464. Changes from trn 3.4.1 to trn 3.5:
  1465.  
  1466.    o    Enhanced the -p option to allow you to select how you'd like
  1467.     your postings to be selected.  The default (which works the same
  1468.     as before) is -p (select your posting and its replies).  Also
  1469.     available is -p+ (select all postings in the thread) and -pp
  1470.     (select the *parent* article and its replies).
  1471.    o    Added the forward (^F) command to forward an article via mail.
  1472.    o    Improved the tab command (skip cited text) to skip empty lines
  1473.     and choose the quotation character more intelligently.
  1474.    o    You can now junk an article in just the current group via
  1475.     a search command using 'x'.  E.g.  /subject/:x
  1476.    o    Included some code from Olaf Titz <uknf@rz.uni-karlsruhe.de>
  1477.     that allows you to tell trn to transform high-bit characters
  1478.     into their 7-bit ascii equivilents.  See the _C command and
  1479.     the -Q option.
  1480.    o    Added the back-scroll command: 'B'.
  1481.    o    Added the -J<n> option to allow you to join truncated subjects
  1482.     into a common thread.  The default for -J is 30 chars, not counting
  1483.     the Re: portion.  I have the lines "&-J27" and "X&+J" in my Babylon
  1484.     5 kill file to join all the Genie posts that get truncated into the
  1485.     proper thread.
  1486.    o    Added the -K option to keep a group static (no new articles) while
  1487.     you read it.  Useful for people who have a really slow kill file
  1488.     for a group -- use "&-K" and "X&+K" in such a kill file to make
  1489.     only that group stop growing until you exit the group and re-enter.
  1490.    o    Added optional mouse support in an xterm window.
  1491.    o    Added a new intrp (%q) to get the value of the last quoted input
  1492.     (%").  Useful for using elm for forwarding articles as it needs
  1493.     the answer to the question "To?" on the command line:
  1494.         -EFORWARDPOSTER="elm -i %h -s '%'[subject]' %q"
  1495.     (though you may wish to redefine the FORWARDHEADER variable too).
  1496.    o    Fixed bugs in the handling of thread kills in partially-threaded
  1497.     groups (Tj now works even if the -a option wasn't specified) and
  1498.     and in the handling of the subject-kill command (Aj).
  1499.    o    New files, HINTS.TRN is like HINTS but in a better format.
  1500.     (I renamed it to avoid conflicts with the directory "hints").
  1501.    o    Portability enhancements to Configure and the support scripts.
  1502.    o    Some fairly major and minor bugs fixed.
  1503.  
  1504. Changes from trn 3.3 to trn 3.4.1:
  1505.  
  1506.    o    Made the kill-file handling more consistent in how it
  1507.     deals with the THRU line.  It now only ignores the THRU
  1508.     line for all selection commands.  You can turn off this
  1509.     exception (and thus make all commands obey the THRU line)
  1510.     by turning off the -k option (using +k).  You can also
  1511.     specify the 'I' modifier or the 'N' modifier to killfile
  1512.     searches to have them either ignore or not-ignore the
  1513.     THRU line, respectively.
  1514.    o    Changed the %'s interp to not supply the leading and
  1515.     trailing single quotes to make it more useful.
  1516.    o    The NNTP trn attempts to reconnect to the news server
  1517.     after it times out.  If it is successful, trn continues.
  1518.    o    The command /subj/M no longer assumes you meant /subj/r:M.
  1519.    o    Automatically-generated killfile commands (e.g. the 'K'
  1520.     command) now escape a '/' that occurs in the subject string.
  1521.    o    The _+ command (select whole thread) now starts reading
  1522.     the thread from the first unread article.
  1523.    o    The -p self-matching code was improved to match a user's
  1524.     name more exactly so that people with short login names
  1525.     don't get improper matches.
  1526.    o    Pnews was enhanced to deal with Followup-To: poster better
  1527.     when you choose to post anyway -- it now puts the user's
  1528.     address into the Cc: header and automatically corrects the
  1529.     Newsgroups: line.
  1530.    o    Pnews returns to the prompt after an inews error instead of
  1531.     aborting.  You can still choose to 'a'bort, if you like.
  1532.    o    Speller now passes the ispell_options from Configure to
  1533.     spell, and Configure has been enhanced to prompt you for
  1534.     the options if either ispell or (new!) vspell can't be
  1535.     found.
  1536.    o    Added the file Policy.sh.SH that puts your policy choices
  1537.     from the config.sh file into hints/Policy.sh.  This allows
  1538.     you to use the Policy.sh file to prime the Configure choices
  1539.     on multiple machines or in the mthreads package without
  1540.     machine-specific selections getting in the way.
  1541.    o    Upgraded Configure to the latest metaconfig release.
  1542.    o    Fixed some MIME bugs and made the handling a little smarter.
  1543.    o    Nested comment warnings removed from various include files.
  1544.    o    Fixed several crash bugs and several nusiance bugs, including:
  1545.        *    the problem with the NNTP trn mangling the date of
  1546.         new news groups (which caused either groups to get missed
  1547.         or groups to be re-offered).
  1548.        *    the problem with the NNTP trn that caused it to think
  1549.         certain lines that begin with a '.' are the end of the
  1550.         list marker and quit when it got confused.
  1551.        *    and lots more...
  1552.  
  1553. Changes from trn 3.2 to trn 3.3:
  1554.  
  1555.    o    Newsetup now looks for NEWSLIB/subscriptions for a default list
  1556.     of groups to subscribe the user to.  If the file doesn't exist
  1557.     the NNTP version will attempt to grab it via the LIST SUBSCRIPTIONS
  1558.     command (available in INN and some nntp patches).
  1559.     [HINT:  if you want your subscription file to default to all
  1560.     groups in the active file, link your subscription file to your
  1561.     active file -- trn will strip the info past the first space
  1562.     when it processes the .newsrc.]
  1563.    o    The file newsnews will now default to a simple version update
  1564.     message instead of a welcome-to trn message (which is now provided
  1565.     by the newsetup file when creating a new .newsrc for a user).
  1566.     I still encourage you to install your own custom newsnews
  1567.     when trn is updated (and trn still doesn't install newsnews
  1568.     automatically -- you have to make this decision for your self).
  1569.    o    Redirected and disabled groups (marked by '=' or 'x' in the active
  1570.     file) are now handled better, allowing you to read any remaining
  1571.     articles after a group gets redirected or disabled and warning you
  1572.     to either start using the new group name or that the group will
  1573.     not be receiving any new news.
  1574.    o    Mime support is now prompted for in Configure and your system's
  1575.     display/store commands are remembered.  We also handle a continued
  1576.     Content-Type header correctly now.
  1577.    o    The tick (') interp modifier will generate a tick-quoted string
  1578.     with all ticks inside the string quoted.  For example, %'s might
  1579.     generate (INCLUDING the "'"s)  'Ticks aren\'t a problem.'
  1580.    o    If the environment variable FAST_PNEWS == y Pnews skips the "Are
  1581.     you sure?" question and the "include file" prompt.  You can put
  1582.     -EFAST_PNEWS=y in the global INIT file, if you so desire.
  1583.    o    Various bug fixes.
  1584.  
  1585. Changes from trn 3.1 to trn 3.2:
  1586.  
  1587.    o    Configure and the include file structure has been improved to
  1588.     install easier on more systems.
  1589.    o    Fixed some non-portable test statements in Pnews.
  1590.    o    Added the -Z option to allow you to turn on/off support for the
  1591.     two different database formats (-Zt, -Zo, -Zot, or +Z).
  1592.    o    Configure now allows you set the default database support to
  1593.     thread files, overview files, both or none.
  1594.    o    Trn and its support scripts handle ~/dirs in the newslib or
  1595.     rnlib better.
  1596.    o    Various bug fixes.
  1597.  
  1598. Changes from trn 3.0 to trn 3.1:
  1599.  
  1600.    o    Added a new header-searching syntax:  /string/Hheader:cmd.
  1601.     This allows you to match a string on any header that trn
  1602.     knows about and is faster on the NNTP side than full-header
  1603.     matching.  Example:  /: .../Hlines:j  would junk all postings
  1604.     longer than 99 lines.
  1605.    o    Two new commands can be put into a group's kill file: *j
  1606.     (kill all articles from THRU to the end of the group) and *X
  1607.     (kill all unselected articles from THRU to the end of the group).
  1608.    o    Pnews (using artcheck) now checks the active file as well as
  1609.     the newsgroups file for each group on the Newsgroups line.  This
  1610.     lets you know whenever you specify a group that doesn't exist.
  1611.     Also, the NNTP version has been fixed to provide full checking.
  1612.    o    Pnews/Rnmail have been modified to allow you to type either upper
  1613.     or lower case for the response letters, and use "sp*ell" in addition
  1614.     to "c*heck" for the spelling checker ("s*end" is unchanged).
  1615.    o    Pnews/Rnmail each have a pre-edit signature appending option.
  1616.     If you use the file DOTDIR/.news_sig INSTEAD of .signature Pnews
  1617.     will append your signature before you edit the file.  Rnmail uses
  1618.     the file DOTDIR/.mail_sig.  Note also that the names may be
  1619.     customized with the environment variables NEWSSIGNATURE and
  1620.     MAILSIGNATURE, if desired (allowing a per-group signature).
  1621.    o    Added the modifiers '>' and ')' to interpreted strings.  For
  1622.     example:  %>f gives you the address only on the From line,
  1623.     while %)f gives you the real name portion.
  1624.    o    Added the 'O' command (newsgroup level) that works just like 'o'
  1625.     except that it does not visit empty groups.
  1626.    o    The killfile is fully saved before manual editing with Ctrl-K
  1627.     (message-id commands used to be saved only on exit from the group).
  1628.    o    The screen is now refreshed when the window size changes.
  1629.    o    Trn now makes use of stdlib.h, unistd.h (if available) and does a
  1630.     more intelligent inclusion of time.h & sys/time.h (as needed).
  1631.    o    Trn doesn't loop through the current thread if unread articles
  1632.     still exist in it.  Also fixed various problems with '>' & 'P'.
  1633.    o    The 'D' command in the selector no longer jumps back to the top.
  1634.    o    The NNTP version has a different new-article aquisition strategy.
  1635.     Your nntp server must send up-to-date information in response to
  1636.     the GROUP command (INN's nnrpd does) for a group to expand while
  1637.     you're in it.  Also, you can now set the minimum time for trn to
  1638.     wait (see -z) before it refetches the active file at the end of
  1639.     the newsgroups.  The default is 5 minutes.
  1640.    o    Optional metamail support pauses between the headers and the
  1641.     metamail-interpreted article.  Also, the 'v' command displays the
  1642.     raw article without metamail processing.
  1643.    o    Numerous portability changes and bug fixes.
  1644.  
  1645. Changes from trn 2.5 to trn 3.0:
  1646.  
  1647.    o    Trn is now capable of reading more news database formats.  It
  1648.     currently supports news overview (.overview files), mthreads
  1649.     (.thread files), and direct threading of the articles.  The
  1650.     NNTP version supports the XTHREAD and XOVER NNTP extensions.
  1651.     If you compile trn with support for both formats it will figure
  1652.     out which groups (or which server) has which type of data and
  1653.     act accordingly.
  1654.    o    Mthreads is now a separate package from trn since not everyone
  1655.     will need to use it.  Look for it in the same place you found
  1656.     trn.
  1657.    o    Trn attempts to build some useful default macros for your
  1658.     terminal's arrow keys.  On the article level they move around
  1659.     in the thread; in the selector they change pages (left/right)
  1660.     and switch selections (up/down); on the newsgroup level they
  1661.     move by group (up/down) and enter a group (right).  If you
  1662.     don't like this, turn it off with the +A option.
  1663.    o    There's a new search scope -- the from line.  For example:
  1664.     use /author/f+ to search for and select 'author's articles.
  1665.    o    The thread selector has been extended to be a subject and
  1666.     article selector.  Use the 'S'et selector command to change
  1667.     modes or use '=' to toggle between the article selector and
  1668.     the subject/thread selector (whichever was last in use).
  1669.    o    The selector can now be sorted in a variety of ways:  by date,
  1670.     subject, author, article count (in the subject/thread selector),
  1671.     or a combination of subject and date (in the article selector).
  1672.     The default is date order of the oldest unread article in a thread.
  1673.     Use the 'O'rder command to pick a new one or use 'R' to reverse
  1674.     the sort.  See also the "-O<mode><order>" option to set your
  1675.     favorite mode and order.  You can even put a "&-Oas" command (for
  1676.     example) into a group's kill file to set a per-group default.
  1677.    o    The selector allows you to exclude all the non-selected articles
  1678.     from the display (i.e. narrow it) -- use 'E' to toggle this mode.
  1679.    o    The selector has two new selection commands:  '*' is used to select
  1680.     (or deselect) the current item and all other items with the same
  1681.     subject (useful in the article selector); '#' is used to make an
  1682.     overriding selection that immediately reads the current item
  1683.     ignoring all other selections.
  1684.    o    You can now type 'M' in the selector to mark the current item's
  1685.     articles as read-but-returning and press 'Y' to yank back and
  1686.     select these articles before exiting the group.
  1687.    o    Selections via searches are article-oriented (/subj/+) or
  1688.     thread-/subject-oriented (/subj/++).  The article selector's
  1689.     default command is "+", while the thread/subject selector's is
  1690.     "++".  In other words doing a "/subj" search with no specified
  1691.     command selects whatever type of object you're looking at in the
  1692.     selector.
  1693.    o    If you specify the "-p" option, your postings and any replies to
  1694.     them are auto-selected whenever trn encounters them.
  1695.    o    The '+' command in a non-threaded group visits the subject selector.
  1696.     You can also use "_a", "_s", "_t" or "_T" to force the article,
  1697.     subject, thread, or thread-but-I'll-settle-for-subject selector.
  1698.    o    The selector displays subjects/threads that are partially-selected
  1699.     with a '*'.  Fully-selected items are marked with a '+', as before.
  1700.     Use the article selector (possibly with 'E'xclusive set) to see
  1701.     which articles are selected in a partially-selected group (or just
  1702.     read them).
  1703.    o    The selector remembers which subjects you selected (and didn't kill)
  1704.     and marks any newly-arriving articles in these subjects as selected
  1705.     until you exit the group.
  1706.    o    The medium display mode of the thread selector has been improved
  1707.     to make it more readable.
  1708.    o    The selector will leave out the middle portion of a subject that is
  1709.     too long to display the last two words of the subject.  If you don't
  1710.     like this, use the -u option to leave them unbroken.
  1711.    o    'T'hread KILL commands now use message-ids to either junk
  1712.     or select articles.  The 'T' command has been extended to be
  1713.     more flexible on the article level and has been added to the
  1714.     selector.
  1715.    o    Another new command 'A'dds selection or kill commands to the KILL
  1716.     file, and works from both the article level and the selector.
  1717.    o    The tree display has been updated to display unread-but-not-
  1718.     selected articles as <x>.  Other unread articles are still [x],
  1719.     while read articles still display as (x).
  1720.    o    Trn can enter a group without thread information available and
  1721.     thread it in the background while you read.  Articles that have
  1722.     references that may or may not exist show up as "(?)".  If you
  1723.     visit an article like this and wait there, the screen will update
  1724.     when we know for sure one way or the other (after processing more
  1725.     of the group).
  1726.    o    The -a option is used to tell trn to thread all of the
  1727.     articles on entry to the group.  If you don't specify this
  1728.     option a group may have a few (or many) articles that get
  1729.     threaded in the background and won't show up on the tree
  1730.     display until trn processes them.
  1731.    o    Pressing "_+" on the article level will select the entire thread
  1732.     associated with the current article -- useful if you've selected
  1733.     individual articles and wish to read the rest of the discussion.
  1734.     Use "_-" to deselect the current thread.
  1735.    o    The commands _N and _P move to the next and previous article
  1736.     in numberical (arrival) order (article level).  Thus, you can
  1737.     use the command "._P" on the newsgroup level to start reading
  1738.     a group from the very last article to arrive.
  1739.    o    The 't' command on the newsgroup level now turns OFF reading a
  1740.     group with threads (this setting is stored in the .newsrc file,
  1741.     so it is remembered from session to session).  Trn 2.x used this
  1742.     to force threading to be turned ON, but it wasn't usually needed
  1743.     for normal operation.  To temporarily turn threads on once inside
  1744.     a non-threaded group, use the 't' or "_t" commands (article level)
  1745.     or the "St" command (selector).
  1746.    o    Trn now checks for the environment variable TRNMACRO on startup
  1747.     (which defaults to DOTDIR/.trnmac) before checking for the usual
  1748.     RNMACRO (DOTDIR/.rnmac) file.  If you're running trn in its rn-
  1749.     compatible mode, only RNMACRO is tried.
  1750.    o    The threaded and non-threaded data in a group has been unified,
  1751.     resulting in more cached information on the non-threaded side
  1752.     (such as the from line) and more efficient handling of missing
  1753.     articles, just to name two benefits.
  1754.    o    The newsgroup information is freed when we enter a new group,
  1755.     not when we exit the current group.  This means that if you
  1756.     quit out of a group (even accidentally), you can go back in
  1757.     and everything is still there except the selections, which
  1758.     get cleared on group exit.
  1759.    o    KILL file processing will now ignore the THRU line as much as
  1760.     possible without slowing down the handling of KILL files.
  1761.     If you have really slow searches (header or article searches)
  1762.     or you use trn without a database it will use the THRU line
  1763.     to only search an article one time (as it would in rn).  This
  1764.     means that if you have subject-oriented selection commands you
  1765.     don't have to worry about missing articles if you don't read all
  1766.     of them the first time you enter a group after they arrive.  This
  1767.     also means that you won't have to edit your local kill file to
  1768.     remove the THRU line to force a re-scan -- this is now unnecessary.
  1769.    o    Header parsing is now done in-memory, making threading and
  1770.     caching of articles much faster.  This especially helps out
  1771.     NNTP users because trn used to write a tmp file for every
  1772.     header parse.
  1773.    o    Several new mode letters (accessed by %m in macros) were added.
  1774.     The most significant are 'f' for the end (Finis) of the newsgroup
  1775.     selection level (instead of 'n') and 'e' for the end of the article
  1776.     reading level (instead of 'a').
  1777.    o    A new % modifier has been introduced: "%:FMTx".  This allows you
  1778.     to apply a printf-style column format to a regular %x expansion.
  1779.     For example, %:-50.50s would left-justify the subject into 50
  1780.     characters, exactly.
  1781.    o    The -f option will make trn go a little faster by getting rid of the
  1782.     delay/prompt after kill file processing, printing the "skipping
  1783.     article" message, and printing the "Depositing KILL command" message.
  1784.     This is the default if -t (terse) is specified, but can be overriden
  1785.     by specifying +f after the -t option.
  1786.    o    A new option for the gadget-conscious (-B) displays a spinner when
  1787.     trn is processing articles in the background.
  1788.    o    Added the -G option to make the newsgroup 'g'o command look for
  1789.     near matches (for those typing mistakes).
  1790.    o    New newsgroups that are left unsubscribed are not appended to the
  1791.     .newsrc unless you use the -I option or you're running an NNTP
  1792.     version that does not use the NEWGROUPS code.
  1793.    o    Support for metamail's mime handling is now built into the code --
  1794.     see the METAMAIL define in common.h.
  1795.    o    Pnews does more checking of your article before posting, has a
  1796.     spelling-check option, and allows the Cc: header to be used to
  1797.     send mail while posting the article.
  1798.  
  1799. Changes from trn 1.0.3 to trn 2.5:
  1800.  
  1801.    o    Added the '(' and ')' commands (article level) to move to an
  1802.     article's previous/next sibling, including "cousin" siblings.
  1803.    o    The 'A'bandon command (newsgroup level) forgets all changes to the
  1804.     current newsgroup since you first started trn.
  1805.    o    The thread selector now allows you type type 'c'/'y' to catchup
  1806.     the group without chasing cross-references.
  1807.    o    Added 'z' and 'Z' commands (article level) supersede the current
  1808.     article ('Z' also including the original text).
  1809.    o    The g command (newsgroup level) will go to a newsgroup by number
  1810.     where the the number corresponds to that shown in the 'L'ist
  1811.     command.
  1812.    o    Added the "-o" option to use the old method of junking articles in
  1813.     the thread commands (they didn't chase cross-references in trn 1.x)
  1814.    o    Added the "-b" option to read articles in a breadth-first descent
  1815.     of the article tree.  You can specify this command at runtime to
  1816.     switch from breadth-first (type "&-b") to depth-first ("&+b).
  1817.    o    Added the "-j" option to tell trn to pass control characters through
  1818.     the pager unharmed.
  1819.  
  1820. ------------------------------
  1821. End of trn newsreader FAQ, part 2/2.
  1822.